Remove unnecessary test dependency from canary_go job #13925
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
canary_gojob waited for bothtestandintegrationjobs to complete before starting, but only needsintegration. GitHub Actions'download-artifactfetches artifacts by name/pattern from the entire workflow run, not just from dependent jobs.Change
Impact
test-result-*)The canary job downloads both
test-result-unitandtest-result-integration-*artifacts using pattern matching. Since both source jobs upload independently, explicit dependency ontestis unnecessary.Original prompt
This section details on the original issue you should resolve
<issue_title>[ci-coach] Remove unnecessary test dependency from canary_go job</issue_title>
<issue_description>### Summary
Removes the unnecessary
testjob dependency from thecanary_gojob. The canary job downloads test artifacts but doesn't need to wait for the unit test job to complete before starting.Optimization
Remove Test Dependency from Canary Job
Type: Job Dependency Optimization
Impact: ~2-3 minutes per run
Risk: Very Low
Changes:
testfromneeds: [test, integration]→needs: [integration]Current Flow:
Rationale:
The
canary_gojob's purpose is to verify test coverage by downloading artifacts from both unit and integration tests. GitHub Actions'download-artifactaction fetches artifacts by name regardless of job dependencies - it only requires that the artifacts exist. Since bothtestandintegrationjobs upload their artifacts independently (test-result-unitandtest-result-integration-*), the canary job will successfully download both sets of artifacts even without an explicit dependency ontest.By removing this dependency:
download-artifactExpected Impact
Validation Results
✅ All validations passed:
python3 -c "import yaml; yaml.safe_load(...)"- passedTesting Plan
Analysis Context
This optimization was identified by the CI Coach workflow (run #69) after analyzing 100 recent CI runs. The analysis found:
Current CI Health:
Why This Change:
The CI workflow is already well-optimized. This is the only clear low-risk optimization identified. Other potential improvements (reducing matrix size, cache optimization) have higher risk or lower impact.
Metrics Baseline:
Analysis performed by CI Coach workflow run §69
To apply the patch locally:
Show patch (37 lines)